home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Technology Seed / Mac Tech Seed May '96 / Mac Tech Seed May '96.toast / mac / Unity a3c3 / Install System Software / QuickDraw GX / QuickDraw™ GX Disk 1 / QuickDraw™ GX / QuickDraw™ GX.adf / psbt_-28343 < prev    next >
Encoding:
Text File  |  1995-08-28  |  6.1 KB  |  359 lines

  1. C/ReadRaster { currentfile pixString RstrRead pop } Bdef
  2. /pixString null def
  3. /MaxSampleInt 0 def
  4. /OldGrayTransfer null def
  5. /OldBlackTransfer null def
  6. /OldRedTransfer null def
  7. /OldGreenTransfer null def
  8. /OldBlueTransfer null def
  9. /OldCyanTransfer null def
  10. /OldMagentaTransfer null def
  11. /OldYellowTransfer null def
  12. systemdict /setundercolorremoval known {
  13. {pop 0} setundercolorremoval
  14. } if
  15. systemdict /setblackgeneration known {
  16. {pop 0} setblackgeneration
  17. } if
  18. /DoBitmap { save 
  19. 9 1 roll 
  20. /pixString exch string store 
  21. /RstrRead exch 
  22. {/readhexstring}
  23. {/readstring}
  24. ifelse
  25. load def
  26. 1 0 0 1 
  27. 6 -2 roll neg exch neg exch 
  28. ScratchMatrix astore 
  29. /ReadRaster load 
  30. 6 -1 roll dup 1 gt { 
  31. false exch 
  32. GXColorImage 
  33. } { 
  34. pop 
  35. image 
  36. } ifelse
  37. restore } Bdef
  38. /DoImageMask { save
  39. 1 index type /arraytype eq { 
  40. exch concat 
  41. 1 SetOrMode 
  42. EnsureDeviceResolution 
  43. } if
  44. 7 1 roll 
  45. /pixString exch string store 
  46. /RstrRead exch 
  47. {/readhexstring}
  48. {/readstring}
  49. ifelse
  50. load def
  51. 1 0 0 1 
  52. 6 -2 roll neg exch neg exch 
  53. ScratchMatrix astore 
  54. ImageMaskSense exch 
  55. /ReadRaster load 
  56. gsave ImageMaskColor CurrColorSet SetIndexedColor
  57. imagemask    
  58. grestore
  59. restore } Bdef
  60. /MakeBitmapStrings {
  61. /@1 Xstore 
  62. @1 -65535 0 { 
  63. dup 65535 gt { 
  64. pop 65535 string 
  65. } { 
  66. string 
  67. } ifelse
  68. } for
  69. exch
  70. /RstrRead exch 
  71. {/readhexstring}
  72. {/readstring}
  73. ifelse
  74. load def
  75. dup 
  76. currentfile exch RstrRead pop pop
  77. } forall
  78. } Bdef
  79. /StringDataIn {
  80. 2 copy get exch 1 add exch
  81. } Bdef
  82. /DrawBitmapString {
  83. 1 0 0 1 
  84. 6 -2 roll neg exch neg exch 
  85. ScratchMatrix astore 
  86. /StringDataIn load 
  87. BitmapStrings 0 
  88. 8 2 roll 
  89. 6 -1 roll dup 1 gt { 
  90. false exch 
  91. GXColorImage 
  92. } { 
  93. pop 
  94. image 
  95. } ifelse
  96. pop pop 
  97. } Bdef
  98. /Draw1bitBitmapString {
  99. shapeType /i eq CurrOrMode 0 eq and { 
  100. 3 1 roll 
  101. DrawIndexedBitmapStrings    
  102. } {
  103. 1 0 0 1 
  104. 6 -2 roll neg exch neg exch 
  105. ScratchMatrix astore 
  106. ImageMaskSense exch 
  107. /StringDataIn load 
  108. BitmapStrings 0 
  109. 7 2 roll 
  110. imagemask 
  111. pop pop 
  112. } ifelse
  113. } Bdef
  114. /CreateColorSet {
  115. currentdict /PortablizeColorSetParams known {PortablizeColorSetParams} if 
  116. 5 dict dup 2 index 4 add 1 roll 
  117. begin
  118. exch 
  119. /ColorSpace Xdef 
  120. 1 index length /Size Xdef 
  121. dup /Num Xdef 
  122. array 
  123. astore 
  124. /Components Xdef 
  125. ColorSpace null eq {
  126. /SetColorOp
  127. Num 1 eq 
  128. {/setgray load def}
  129. { Num 3 eq
  130. {/GXSetRGBColor load def}
  131. {/setcmykcolor load def}
  132. ifelse
  133. }    ifelse
  134. } {
  135. /SetColorOp /setcolor load def
  136. } ifelse
  137. end
  138. } Bdef
  139. /SetIndexedColor {
  140. begin
  141. ColorSpace null ne {ColorSpace setcolorspace} if 
  142. Components {1 index get exch} forall pop 
  143. SetColorOp
  144. end
  145. } Bdef
  146. languagelevel 2 ge {
  147. /LookupProc {
  148. CurrColorSet /Components get { 
  149. 1 index dup 
  150. CurrColorSet /Size get ge {            
  151. pop pop 0 
  152. } { 
  153. get 
  154. }    ifelse
  155. exch 
  156. } forall 
  157. pop 
  158. } Bdef
  159. } if
  160. languagelevel 2 ge {
  161. /DoIndexedBitmap { save
  162. 8 1 roll 
  163. dup 0 gt {
  164. /pixString exch string store 
  165. /RstrRead exch 
  166. {/readhexstring}
  167. {/readstring} 
  168. ifelse
  169. load def
  170. } {
  171. pop pop 
  172. /pixString null store 
  173. } ifelse
  174. 1 0 0 1
  175. 6 -2 roll neg exch neg exch 
  176. ScratchMatrix astore 
  177. [
  178. /Indexed
  179. CurrColorSet begin 
  180. ColorSpace null eq { 
  181. Num 1 eq 
  182. {/DeviceGray}
  183. { Num 3 eq
  184. {/DeviceRGB} 
  185. {/DeviceCMYK} 
  186. ifelse
  187. }    ifelse
  188. } { 
  189. ColorSpace
  190. } ifelse
  191. Size 
  192. end
  193. /LookupProc load 
  194. ] setcolorspace
  195. 7 dict dup begin
  196. 5 1 roll
  197. /ImageMatrix Xdef
  198. /BitsPerComponent Xdef
  199. /Height Xdef
  200. /Width Xdef
  201. /ImageType 1 def
  202. /Decode [0 2 BitsPerComponent exp 1 sub] def
  203. pixString null ne {
  204. /DataSource /ReadRaster load def
  205. } {
  206. /DataSource /StringDataIn load def
  207. BitmapStrings 0 
  208. 3 2 roll 
  209. } ifelse
  210. end
  211. image 
  212. pixString null eq {pop pop} if
  213. restore } Bdef
  214. } if
  215. languagelevel 1 eq {
  216. /MaxSampleInt 0 store 
  217. /LookupComponent {
  218. CurrColorSet /Components get 
  219. exch get 
  220. exch MaxSampleInt mul round cvi 
  221. dup
  222. CurrColorSet /Size get ge { 
  223. pop pop 0
  224. } {
  225. get
  226. } ifelse
  227. } Bdef
  228. /DoIndexedBitmap { save
  229. 8 1 roll 
  230. dup 0 gt { 
  231. /pixString exch string store 
  232. /RstrRead exch 
  233. {/readhexstring}
  234. {/readstring} 
  235. ifelse
  236. load def
  237. 2 index 2 exch exp 1 sub /MaxSampleInt exch store 
  238. InstallColorSetTransfers 
  239. } { 
  240. pop pop 
  241. /pixString null store 
  242. } ifelse
  243. 1 0 0 1
  244. 6 -2 roll neg exch neg exch 
  245. ScratchMatrix astore 
  246. CurrColorSet /Num get dup 1 eq { 
  247. pop 
  248. pixString null ne {
  249. /ReadRaster load 
  250. } {
  251. /StringDataIn load
  252. BitmapStrings 0 7 2 roll
  253. } ifelse
  254. image
  255. } { 
  256. 3 eq { 
  257. pixString null ne {
  258. {ReadRaster dup dup} {} {} 
  259. } {
  260. {StringDataIn dup dup} {} {} BitmapStrings 0 9 2 roll
  261. } ifelse
  262. true 3 GXColorImage
  263. } { 
  264. pixString null ne {
  265. {ReadRaster dup dup dup } {} {} {}
  266. } {
  267. {StringDataIn dup dup dup} {} {} {} BitmapStrings 0 10 2 roll
  268. } ifelse
  269. true 4 GXColorImage
  270. } ifelse
  271. } ifelse
  272. pixString null eq {pop pop} if 
  273. restore } Bdef
  274. } if
  275. languagelevel 1 eq {
  276. /InstallColorSetTransfers {
  277. CurrColorSet /Num get dup 1 eq { 
  278. /OldGrayTransfer currenttransfer store
  279. {0 LookupComponent OldGrayTransfer} settransfer
  280. pop 
  281. } { 
  282. 3 eq { 
  283. currentcolortransfer
  284. /OldGrayTransfer exch store
  285. /OldBlueTransfer exch store
  286. /OldGreenTransfer exch store
  287. /OldRedTransfer exch store
  288. {0 LookupComponent OldRedTransfer}
  289. {1 LookupComponent OldGreenTransfer}
  290. {2 LookupComponent OldBlueTransfer}
  291. {OldGrayTransfer}
  292. setcolortransfer
  293. } { 
  294. currentcolortransfer
  295. /OldBlackTransfer exch store
  296. /OldYellowTransfer exch store
  297. /OldMagentaTransfer exch store
  298. /OldCyanTransfer exch store
  299. {1 exch sub 0 LookupComponent 1 exch sub OldCyanTransfer}
  300. {1 exch sub 1 LookupComponent 1 exch sub OldMagentaTransfer}
  301. {1 exch sub 2 LookupComponent 1 exch sub OldYellowTransfer}
  302. {1 exch sub 3 LookupComponent 1 exch sub OldBlackTransfer}
  303. setcolortransfer
  304. } ifelse
  305. } ifelse
  306. } Bdef
  307. } if
  308. /DrawIndexedBitmapStrings {
  309. F 0 DoIndexedBitmap 
  310. } Bdef
  311. /Do1bitBitmap {
  312. dup type /arraytype eq 
  313. CurrOrMode 0 ne or { 
  314. DoImageMask
  315. } { 
  316. 5 1 roll    
  317. DoIndexedBitmap
  318. } ifelse
  319. } Bdef
  320. languagelevel 2 ge {
  321. /DoLevel2ColorImage {
  322. 9 dict begin
  323. /ImageType 1 def
  324. {
  325. /DataSource currentfile /ASCIIHexDecode filter def
  326. } {
  327. /DataSource currentfile def
  328. } ifelse
  329. neg exch neg exch matrix translate /ImageMatrix Xdef
  330. /BitsPerComponent Xdef
  331. /Height Xdef
  332. /Width Xdef
  333. /Decode [0 65535 0 65535 0 65535] def 
  334. currentdict 
  335. end
  336. image 
  337. } Bdef
  338. /DoLevel2ColorImageString {
  339. 9 dict begin
  340. /ImageType 1 def
  341. /DataSource /StringDataIn load def    
  342. neg exch neg exch matrix translate /ImageMatrix Xdef
  343. /BitsPerComponent Xdef
  344. /Height Xdef
  345. /Width Xdef
  346. /Decode [0 65535 0 65535 0 65535] def 
  347. BitmapStrings 0    
  348. currentdict 
  349. end
  350. image 
  351. pop pop 
  352. } Bdef
  353. } if 
  354.